\documentclass[utf8]{ctexart}

\usepackage[a4paper,left=1.25in,right=1.25in,top=1in,bottom=1in]{geometry}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{float}
\usepackage{indentfirst}
\usepackage{gnuplot-lua-tikz}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{newclude}
\usepackage[perpage]{footmisc}

\graphicspath{ {images/} }
\raggedbottom	% 令页面在垂直方向向顶部对齐
\renewcommand\qedsymbol{QED}
\newcommand{\sign}[1]{\mathrm{sgn}(#1)}
\everymath{\displaystyle}   % 行内公式采用行间公式格式排列
\pagestyle{plain}

\title{项目《简单五则混合运算计算器》报告}
\author{姓名：殷文良\qquad 学号：3200101893}
\date{}

\begin{document}
\maketitle
\CTEXsetup[format={\Large\bfseries}]{section}

\section{项目设计思路}
\begin{enumerate}
\item
  本次项目作业的设计思路流程图如图\ref{fig1-1}所示。
\begin{figure}[H]
  \centering
  \includegraphics[width=0.410\textwidth]{flowchart.png}
  \caption{设计思路流程图}
  \label{fig1-1}
\end{figure}

\item
  本次项目作业在设计上的注意事项如图\ref{fig1-2}所示。
  \begin{figure}[H]
    \centering
    \includegraphics[width=1.000\textwidth]{attention.png}
    \caption{注意事项}
    \label{fig1-2}
  \end{figure}

\item
  本次项目作业设计的\verb!calculator!类的UML类图如图\ref{fig1-3}所示。
  \begin{figure}[H]
    \centering
    \includegraphics[width=0.705\textwidth]{calculator.png}
    \caption{UML类图}
    \label{fig1-3}
  \end{figure}
  
\end{enumerate}
\section{测试说明}
\begin{itemize}
\item
  在shell终端输入\verb!make report!，可以得到上机报告report.pdf；
\item
  在shell终端输入\verb!make(compile)!，可以编译C++程序main.cpp，输入\verb!./test!可在终端得到输出结果；
\item
  在shell终端输入\verb!bash run!，可以将输出结果重定向到文件output.txt中；
\item
  在shell终端输入\verb!make check!，可以检查程序main.cpp的内存泄漏情况。
\end{itemize}

\section{测试结果}
\subsection{程序运行结果}
程序对注意事项中考虑的各种情形进行测试，结果如表\ref{table3-1}所示，由此说明设计的正确性和全面性。
\begin{table}[H]
  \centering
  \begin{tabular}{ccc}
    \toprule
    Type & Expression & Output\\
    \midrule
    五则混合 & \verb!2^(1+3)-5*(15.23)/(1+2)*3-5! & -65.15\\
    五则混合 & \verb!1.25+(3*(1+2^2)*3-43)^(4-2)! & 5.25\\
    存在空格 & \verb!2^(1 + 3)-5   *(15.23)/(1+2)*  3-5! & -65.15\\
    一元正负号 & \verb!+5+(-(-(-(-(-(-2))))))! & 7\\
    小数不规范 & \verb!3.+4*.5-2*.6! & 3.8\\
    小数不合法 & \verb!3.+4*2.5.4-2*.6! & Wrong Float Number Format!\\
    操作符连续 & \verb!2+*1! & Illegal Operational Expression!\\
    操作数连续 & \verb!2 3 + 4*7! & Illegal Operational Expression!\\
    括号不配对  &  \verb!2^(1+3))-5*(15.23)/(1+2)*3-5! & Parentheses Not Matched OR Empty!\\
    除数为0 & \verb!2^(1+3)-5*(15.23)/(1-1)*3-5! & Division By Zero!\\
    空表达式 & \verb!(())! & Empty Expression!\\
    \bottomrule
  \end{tabular}
  \caption{测试结果}
  \label{table3-1}
\end{table}

\subsection{内存泄露检查}
图\ref{fig3-1}说明程序不存在内存泄露的情况。
\begin{figure}[H]
  \centering
  \includegraphics[width=0.777\textwidth]{memory.png}
  \caption{内存泄漏检查}
  \label{fig3-1}
\end{figure}


\section{亮点介绍}


\section{总结}

\end{document}
